[Home] Python으로 돌아가기

패키지 - 퀴즈 및 레포트

목차

1. 참조 자료
2. 퀴즈
3. 해설 및 코드
4. 레포트

1. 참조 자료

관련 동영상: https://youtu.be/Z1Yd7upQsXY

2. 퀴즈

직접 패키지를 만들어 여러 개의 모듈을 관리하는 프로그램을 작성하라.

조건:

출력 예시:

5의 제곱은 25입니다.
"Hello World!"의 길이는 12입니다.

3. 해설 및 코드

Python 패키지는 여러 개의 모듈을 관리하는 단위다. 패키지를 만들기 위해 폴더를 생성하고, 그 안에 `__init__.py` 파일과 여러 개의 모듈을 만든다.

디렉토리 구조:

mypackage/
 ├── __init__.py
 ├── math_utils.py
 ├── string_utils.py
 └── main.py

math_utils.py (수학 관련 모듈)

# mypackage/math_utils.py

def square(n):
    return n * n

string_utils.py (문자열 관련 모듈)

# mypackage/string_utils.py

def str_length(s):
    return len(s)

main.py (패키지 실행 파일)

# main.py
from mypackage import math_utils, string_utils

num = 5
print(f"{num}의 제곱은 {math_utils.square(num)}입니다.")

txt = "Hello World!"
print(f'"{txt}"의 길이는 {string_utils.str_length(txt)}입니다.')

4. 레포트

다양한 기능을 포함하는 패키지를 직접 제작하고 관리하는 연습을 해보자.

패키지명: myutils

출력 예시:

3 + 7 = 10
파일 리스트: ['test.txt', 'data.csv']

calc.py (계산기 모듈)

# myutils/calc.py

def add(a, b):
    return a + b

file_utils.py (파일 관리 모듈)

# myutils/file_utils.py
import os

def list_files(directory="."):
    return os.listdir(directory)

main.py (패키지 실행 파일)

# main.py
from myutils import calc, file_utils

print(f"3 + 7 = {calc.add(3, 7)}")
print("파일 리스트:", file_utils.list_files())